package com.example.timing_wheel.tools;

import lombok.extern.slf4j.Slf4j;

@Slf4j
class MyTimerTask extends TimerTask {

    private String taskName;

    public MyTimerTask(String taskName, long delayMs) {
        super(taskName, delayMs);
        this.taskName = taskName;
    }

    @Override
    public void run() {
        log.info("执行当前任务: {}", taskName);
        // DO SOMETHING ...
    }
}


public class Example {
    public static void main(String[] args) throws InterruptedException {
        TimerLauncher timerLauncher = new TimerLauncher();

        // 添加定时任务
        timerLauncher.add(new MyTimerTask("Task1", 5000)); // 5秒后执行
        timerLauncher.add(new MyTimerTask("Task2", 10000)); // 10秒后执行
        timerLauncher.start();

        // 在这里可以进行其他操作

        // 等待一段时间, 确保定时任务有足够的时间执行
        Thread.sleep(15000);

        // 关闭定时器
        timerLauncher.shutdown();
    }
}
